// Proxy 对象用于创建一个对象的代理，从而实现基本操作的拦截和自定义
function createArrayProxy(targetArray) {
    return new Proxy(targetArray, {
        get: function(target,index){
            if(isNaN(index)||index<0){
                return target[0]
            }
            if(index>target.length)return undefined
          return target[index]
        }
    });
}

// 示例用法
const originalArray = [10, 20, 30, 40, 50];
const proxyArray = createArrayProxy(originalArray);

console.log(proxyArray[1]);   // 输出: 20
console.log(proxyArray[-1]);  // 输出: 10（返回数组的第一个元素）
console.log(proxyArray[100]); // 输出: undefined（超出数组长度的索引）
console.log(proxyArray['a']); // 输出: 10（非数字索引也返回数组的第一个元素）